Fix: Prevent stray root bower.json from duplicating plugins on install (fixes #235)#249
Conversation
|
Dug into the actual cause rather than working around it. It's not type detection: boxMenu's metadata already resolves to Changes off the back of that:
Verified the install and update paths against a project carrying the stale manifest: the requested plugin installs correctly, no duplicate, One open call: the PR also skips reinstalling plugins already at the resolved version (less redundant work on a no-arg Posted via collaboration with Claude Code |
Fixes #235
Fix
adapt installplaces menu plugin insrc/components/when already installed insrc/menu/#235: a stale bower.json ("name": "manifest"), left over from the old grunt/bower toolchain and never removed, pinnedadapt-contrib-boxMenu@7.1.0. Bower installed that manifest dependency into whichever type folder the requested plugin used (e.g.src/componentswhen installingadapt-contrib-media), creating a duplicate copy of boxMenu.Update
projectVersion === matchedVersion), and fetch installed-plugin info during install so that comparison is available. Reduces redundant reinstalls on a no-argadapt install.Testing
Setup
adapt installonce), soadapt-contrib-boxMenuis present insrc/menu/.Reproduce the bug (current published CLI /
master)adapt install adapt-contrib-media.adapt-contrib-boxMenu@7.1.0is duplicated intosrc/components/, alongside the correct copy still insrc/menu/.Verify the fix (this PR,
issue/235)src/components/adapt-contrib-boxMenu, leaving the root bower.json in place.adapt install adapt-contrib-mediaagain.adapt-contrib-mediainstalls tosrc/components/andadapt-contrib-boxMenuis NOT duplicated there.adapt install(no args) and confirm already-current plugins are skipped rather than reinstalled.